package com.credit.core.config;

import org.apache.curator.framework.CuratorFramework;
import org.apache.zookeeper.data.Stat;
 
 
/**    
 *     
 * 项目名称：core    
 * 类名称：ZooKeeperConfig    
 * 类描述：    zk配置文件初始化类
 * 创建人：huan    
 * 创建时间：2016年3月21日 下午2:55:53    
 * 修改人：huan    
 * 修改时间：2016年3月21日 下午2:55:53    
 * 修改备注：    
 * @version     
 *     
 */
public class ZooKeeperConfig implements Config {
 
    @Override
    public byte[] getConfig(String path) throws Exception {
        CuratorFramework client = ZooKeeperFactory.get();
        if (!exists(client, path)) {
            throw new RuntimeException("Path " + path + " does not exists.");
        }
        return client.getData().forPath(path);
    }
     
    private boolean exists(CuratorFramework client, String path) throws Exception {
        Stat stat = client.checkExists().forPath(path);
        return !(stat == null);
    }
 
}